/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package util;

import java.lang.Exception;

/**
 *
 * @author Alberto
 */
public class ErroAcessoRepositorioException  extends Exception{

    /**
     * A exceção interna ocorrida dentro da implementação do repositório.
     */
    private Exception excecaoInterna;
    /**
     * O código numérico de erro associado à exceção ocorrida dentro da implementação
     * do repositório.
     */
    private int codigoErro;

    /**
     * O construtor da classe. Passa a mensagem de erro à super-classe, inicializa a
     * exceção interna associada e o código interno da exceção associada.
     *
     * @param pMensagem a mensagem de erro associada à exceção.
     * @param pExcecaoInterna a exceção interna ocorrida na implementação do repositório.
     * @param pCodigoErro o código de erro da exceção interna ocorrida na implementação
     *        do repositório.
     */
    public ErroAcessoRepositorioException(
            String pMensagem,
            Exception pExcecaoInterna,
            int pCodigoErro) {
        super(pMensagem);
        excecaoInterna = pExcecaoInterna;
        codigoErro = pCodigoErro;
    }

    /**
     * Retorna o código numérico de erro associado à exceção ocorrida dentro da implementação
     * do repositório.
     *
     * @return int o código numérico de erro associado à exceção ocorrida dentro da
     *         implementação do repositório.
     */
    public int getCodigoErro() {
        return codigoErro;
    }

    /**
     * Retorna a exceção interna ocorrida dentro da implementação do repositório.
     *
     * @return Exception a exceção interna ocorrida dentro da implementação do repositório.
     */
    public Exception getExcecaoInterna() {
        return excecaoInterna;
    }
}
